// Copyright (c) 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ui/events/win/system_event_state_lookup.h"

#include <windows.h>

namespace ui {
namespace win {

    bool IsShiftPressed()
    {
        return (::GetKeyState(VK_SHIFT) & 0x8000) == 0x8000;
    }

    bool IsCtrlPressed()
    {
        return (::GetKeyState(VK_CONTROL) & 0x8000) == 0x8000;
    }

    bool IsAltPressed()
    {
        return (::GetKeyState(VK_MENU) & 0x8000) == 0x8000;
    }

    bool IsAltGrPressed()
    {
        return (::GetKeyState(VK_MENU) & 0x8000) == 0x8000 && (::GetKeyState(VK_CONTROL) & 0x8000) == 0x8000;
    }

    bool IsWindowsKeyPressed()
    {
        return (::GetKeyState(VK_LWIN) & 0x8000) == 0x8000 || (::GetKeyState(VK_RWIN) & 0x8000) == 0x8000;
    }

    bool IsCapsLockOn()
    {
        return (::GetKeyState(VK_CAPITAL) & 0x0001) == 0x0001;
    }

    bool IsNumLockOn()
    {
        return (::GetKeyState(VK_NUMLOCK) & 0x0001) == 0x0001;
    }

    bool IsScrollLockOn()
    {
        return (::GetKeyState(VK_SCROLL) & 0x0001) == 0x0001;
    }

} // namespace win
} // namespace ui
